package in.lib.holder;
import in.lib.adapter.UserAdapter;
import in.lib.annotation.InjectView;
import in.lib.holder.base.ViewHolder;
import in.lib.manager.SettingsManager;
import in.lib.utils.Views;
import in.lib.view.AvatarView;
import in.model.User;
import in.rob.client.MainApplication;
import in.rob.client.R;
import android.graphics.Typeface;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.nostra13.universalimageloader.core.ImageLoader;
public class UserHolder implements ViewHolder
{
@InjectView(R.id.title) public TextView title;
@InjectView(R.id.text) public TextView text;
@InjectView(R.id.follow_button) public Button followButton;
@InjectView(R.id.mute_button) public Button muteButton;
@InjectView(R.id.avatar) public AvatarView avatar;
public UserHolder(View currentView)
{
Views.inject(this, currentView);
}
@Override public void onViewDestroyed(View v)
{
if (SettingsManager.isListAnimationEnabled())
{
v.clearAnimation();
}
avatar.setImageBitmap(null);
ImageLoader.getInstance().cancelDisplayTask(avatar);
}
public void populate(User user, UserAdapter adapter)
{
// set values
title.setText(user.getUserName());
text.setText("@" + user.getMentionName());
followButton.setText(user.isYou() ? R.string.edit_profile : (user.getYouFollow() ? R.string.unfollow : R.string.follow));
followButton.setBackgroundResource(user.getYouFollow() ? adapter.getButtonRes()[1] : adapter.getButtonRes()[0]);
muteButton.setText(user.isMuted() ? R.string.unmute : R.string.mute);
muteButton.setBackgroundResource(user.isMuted() ? adapter.getButtonRes()[1] : adapter.getButtonRes()[0]);
if (SettingsManager.getShowAvatars())
{
avatar.setVisibility(View.VISIBLE);
avatar.setContentDescription(user.getMentionName());
avatar.setImageBitmap(null);
ImageLoader.getInstance().cancelDisplayTask(avatar);
if (user.isAvatarDefault())
{
avatar.setImageResource(R.drawable.default_avatar);
}
else
{
ImageLoader.getInstance().displayImage(user.getAvatarUrl() + "?avatar=1&id=" + user.getId(), avatar, MainApplication.getAvatarImageOptions());
}
}
else
{
avatar.setVisibility(View.GONE);
avatar.setImageBitmap(null);
}
if (SettingsManager.isCustomFontsEnabled())
{
title.setTypeface(Typeface.defaultFromStyle(0));
text.setTypeface(Typeface.defaultFromStyle(0));
}
}
}